#include "display_manager.h"

using namespace std;

DisplayManager::DisplayManager(int carCount, vector<SmartCar>& cars) : _index(-1), _carCount(carCount), _cars(cars) {}

void DisplayManager::display() {
    char c;
    while (true) {
        cout << "按n显示下一个, 按p显示上一个, 按q退出: ";
        cin >> c;
        if (c == 'n') {
            if (this->_index < _carCount - 1) {
                displayByIndex(++this->_index);
            } else {
                cout << "没有最后了！！ ";
            }
        } else if (c == 'p') {
            if (this->_index > 0) {
                displayByIndex(--this->_index);
            } else {
                cout << "没有前面了！！ ";
            }
        } else if (c == 'q') {
            cout << "退出显示!! " << endl;
            break;
        }
    }
}

void DisplayManager::displayByIndex(int pos) {
    _cars[pos].print();
    cout << "-----------------------------------" << endl;
    return;
}
